package com.bestcem.xm.txtanls.enums;


import lombok.Getter;
import lombok.ToString;

/**
 * 行业code枚举类
 *
 * @author liheng
 * @version v1.0
 * @date 2021/5/11-15:40
 */
@ToString
@Getter
public enum IndustryCodeEnum {

    /**
     * 酒店行业
     */
    HOTEL("酒店", "CANYIN", 2),

    /**
     * 医疗行业
     */
    MEDICAL("医疗", "CANYIN", 4),

    /**
     * 地产行业
     */
    ESTATE("地产", "CANYIN", 5),

    /**
     * 餐饮行业
     */
    DIET("餐饮", "CANYIN", 7),

    /**
     * 旅游｜文化行业
     */
    TOURISM("文旅", "CANYIN", 8),

    /**
     * 零售｜快消行业
     */
    RETAIL("零售", "LINGSHOU", 9),


    /**
     * 银行｜保险｜金融行业
     */
    FINANCE("金融保险", "CANYIN", 10),

    /**
     * 汽车｜交通｜物流行业
     */
    VEHICLE("汽车", "CANYIN", 11),

    /**
     * 其它行业
     */
    OTHER("其它", "CANYIN", 12),

    /**
     * 软件行业
     */
    SOFTWARE("软件", "CANYIN", 13),

    /**
     * 互联网｜软件｜SaaS行业
     */
    INTERNET("互联网", "CANYIN", 14),

    /**
     * 通信行业
     */
    COMMUNICATIONS("通信", "CANYIN", 15),

    /**
     * 高校行业
     */
    COLLEGES("高校", "CANYIN", 16),

    /**
     * 公共事业行业
     */
    HUMAN_SERVICES("公共事业", "CANYIN", 17),

    /**
     * 调研｜咨询｜广告行业
     */
    HUMAN_CONSULTATION("调研咨询", "CANYIN", 18),

    /**
     * 广告行业
     */
    HUMAN_AD("广告", "CANYIN", 19),
    /**
     * 美容美体行业
     */
    BEAUTY("美容美体", "CANYIN", 20),

    /**
     * 满意度频道行业
     */
    SATISFACTION("满意度频道", "CANYIN", 21),

    /**
     * 物业行业
     */
    PROPERTY("物业", "CANYIN", 22),

    /**
     * 3C｜家电 行业
     */
    CCC("3C｜家电", "CANYIN", 23),

    /**
     * 游戏行业
     */
    GAME("游戏", "CANYIN", 24),

    /**
     * 版本定价行业
     */
    PRICE("版本定价", "CANYIN", 25);


    private final String name;
    private final int index;
    private final String spell;

    IndustryCodeEnum(String name, String spell, Integer index) {
        this.name = name;
        this.index = index;
        this.spell = spell;
    }

    /**
     * 根据code获取name
     */
    public static String getNameByCode(int index) {
        for (IndustryCodeEnum value : values()) {
            if (value.getIndex() == index) {
                return value.getName();
            }
        }
        return "";
    }

    /**
     * 根据行业code获取枚举中的行业名字
     * 找不到则默认返回 "CANYIN"
     *
     * @param industryCode 行业code
     * @author XiaoYunSong <ys.xiao@idiaoyan.cn>
     * @date 2021/6/10 15:29
     */
    public static String getSpellByCode(int industryCode) {
        for (IndustryCodeEnum value : values()) {
            if (value.getIndex() == industryCode) {
                return value.getSpell();
            }
        }
        return "CANYIN";
    }

    /**
     * 根据行业code获取枚举实体
     * 找不到则默认返回餐饮业
     *
     * @param industryCode 行业code
     * @author XiaoYunSong <ys.xiao@idiaoyan.cn>
     * @date 2021/5/15 11:34
     */
    public static IndustryCodeEnum getByCode(int industryCode) {
        for (IndustryCodeEnum value : values()) {
            if (value.getIndex() == industryCode) {
                return value;
            }
        }
        return DIET;
    }
}
